Apparatus and method for obtaining shape data of analytic surface approximate expression

ABSTRACT

A method and apparatus for generating three-dimensional shape data in analytic surface expression form by using polygonal shape data. In the polygonal shape data, at least a portion of a shape is approximated by a combination of a plurality of polygons. A set of polygons is generated from the polygonal shape data, each of the polygons satisfying a predetermined selection criterion. An analytic surface is fitted in place of the obtained set of polygons. The step of fitting is repeated by obtaining another set of polygons until a predetermined termination condition is satisfied.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2000-099874, filed Mar. 31, 2000, the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to an apparatus and method for generating shape data of analytic surface approximate expression by use of three-dimensional shape data approximated by a combination of a plurality of polygons.

[0003] Nowadays, CAD (Computer Aided Design) systems, model generation software systems, computer animation software systems, and the like are used to efficiently design products such as machines, architectures, and the like.

[0004] VRML (Virtual Reality Modeling Language), which is a standard for exchanging and using three-dimensional shape information of components via the Internet, has been proposed, and is used in practice. Expression of shape data in VRML is an approximation of a three-dimensional shape of an object using a set of a plurality of polygons (polyhedron), and the shape data is widely distributed.

[0005] In a given CAD system, kinematic pairs such as coincidence, coaxial, and the like are defined among features (partial shapes such as a cylindrical surface, plane, and the like) as partial shapes of machine components for the purpose of aiding a complicated machine product design using a computer, the positional relationship among components in an assembly is defined and managed, and various functions such as assembly modeling, mechanism simulation, and interference check are implemented. These functions are essential features of a CAD system, and are very effective in design aid.

[0006] However, like as the above CAD system cannot use shape data by polyhedron approximation like in VRML. Hence, compatibility and reusability of shape data such as VRML must be improved.

BRIEF SUMMARY OF THE INVENTION

[0007] The present invention has been made in consideration of the above situation, and has as its object to provide an apparatus and method for obtaining shape data of analytic surface approximate expression which can be used in a CAD system having various functions such as assembly modeling, mechanism simulation, interference check, and the like.

[0008] According to one aspect of the present invention, there is provided a method of generating three-dimensional shape data in analytic surface expression form by using polygonal shape data in which at least a portion of a shape is approximated by a combination of a plurality of polygons, the method comprising: obtaining a set of polygons from the polygonal shape data, each of the polygons satisfying a predetermined selection criterion; fitting an analytic surface in place of the obtained set of polygons; and repeating the step of fitting by obtaining another set of polygons until a predetermined termination condition is satisfied.

[0009] According to another aspect of the present invention, there is provided a method for obtaining three-dimensional shape data in analytic surface expression form by using polygonal shape data in which at least a portion of a shape is approximated by a combination of a plurality of polygons, the method comprising: selecting at least one or more polygons from the polygonal shape data in accordance with a predetermined selection criterion; and calculating an analytic surface to be assigned for the one or more polygons.

[0010] According to another aspect of the present invention, there is provided an apparatus for generating three-dimensional shape data of analytic surface expression, the apparatus comprising: a storage configure to store polygonal shape data in which at least a portion of a shape is approximated by a combination of a plurality of polygons; a shape data I/O interface configure to read the polygonal data from the storage; and an analytic surface fitting device coupled to the shape data I/O interface, including: a generation device configured to generate a set of polygons from the polygonal shape data, each of the polygons satisfying a predetermined selection criterion; an analytic surface computation device configured to compute a shape parameter of analytic surface, the analytic surface being fitted in place of the obtained set of polygons; and a fitting process controlling device configured to control a fitting process by activating the generation device and analytic surface computation device based on a predetermined termination condition.

[0011] According to still another aspect of the present invention, there is provided an apparatus for generating three-dimensional shape data of analytic surface expression, the apparatus comprising: a storage configured to store polygonal shape data in which at least a portion of a shape is approximated by a combination of a plurality of polygons; a shape data I/O interface configure to read the polygonal data from the storage; and analytic surface fitting means coupled to the shape data I/O interface, including: generation means for generating a set of polygons from the polygonal shape data, each of the polygons satisfying a predetermined selection criterion; computation means for computing a shape parameter of analytic surface, the analytic surface being fitted in place of the obtained set of polygons; and fitting process controlling means for controlling a fitting process by activating the generation means and computation means based on a predetermined termination condition.

[0012] According to still another aspect of the present invention, there is provided an apparatus for obtaining three-dimensional shape data in analytic surface expression form by using polygonal shape data in which at least a portion of a shape is approximated by a combination of a plurality of polygons, the apparatus comprising: means for selecting at least one or more polygons from the polygonal shape data in accordance with a predetermined selection criterion; and means for calculating an analytic surface to be assigned for the one or more polygons.

[0013] According to still another aspect of the present invention, there is provided an article of manufacture comprising a computer usable medium having computer readable program code means embodied for obtaining three-dimensional shape data in analytic surface expression form by using polygonal shape data in which at least a portion of a shape is approximated by a combination of a plurality of polygons, the computer readable program code means comprising: computer readable program code means for causing a computer to select at least one or more polygons from the polygonal shape data in accordance with a predetermined selection criterion; and computer readable program code means for causing a computer to calculate an analytic surface to be assigned for the one or more polygons.

[0014] According to still another aspect of the present invention, there is provided an interference check method for checking the presence/absence of geometric interference between three-dimensional shapes using shape data in which at least a portion of a three-dimensional shape is approximately expressed by a combination of a plurality of polygons, the method comprising: obtaining shape data of analytic surface expression by fitting partial sets of the polygons to analytic surfaces; selecting one of an accuracy-oriented processing method and processing speed-oriented processing method of the interference check; selecting one of the shape data of polygon approximate expression and the shape data of analytic surface expression according to the selected processing method; and executing the interference check using the selected shape data.

[0015] According to still another aspect of the present invention, there is provided an interference check apparatus for checking the presence/absence of geometric interference between three-dimensional shapes using shape data in which at least a portion of a three-dimensional shape is approximately expressed by a combination of a plurality of polygons, comprising: an analytic surface fit processing device configured to obtain shape data of analytic surface expression by fitting partial sets of the polygons to analytic surfaces; a storage configured to store the shape data of the three-dimensional shape approximately expressed by polygons, and corresponding shape data of analytic surface expression in association with each other; a computation mode selecting device configured to select one of an accuracy-oriented computation mode and processing speed-oriented computation mode of the interference check; a shape data selecting device configured to select one of the shape data of polygon approximate expression and the shape data of analytic surface expression according to the computation mode selected by the computation mode selecting device; and an interference check device configured to execute the interference check process using the shape data selected by the shape data selecting device.

[0016] According to still another aspect of the present invention, there is provided an article of manufacture comprising a computer usable medium having computer readable program code means embodied for checking the presence/absence of geometric interference between three-dimensional shapes using shape data in which at least a portion of a three-dimensional shape is approximately expressed by a combination of a plurality of polygons, the computer readable program code means comprising: computer readable program code means for causing a computer to obtain shape data of analytic surface expression by fitting partial sets of the polygons to analytic surfaces; computer readable program code means for causing a computer to select one of an accuracy-oriented processing method and processing speed-oriented processing method of the interference check; computer readable program code means for causing a computer to select one of the shape data of polygon approximate expression and the shape data of analytic surface expression according to the selected processing method; and computer readable program code means for causing a computer to execute the interference check using the selected shape data.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

[0017]FIG. 1 shows a functional block diagram of an apparatus according to the first embodiment of the present invention;

[0018]FIG. 2 is a schematic flow chart showing a process of the apparatus of the first embodiment.

[0019]FIG. 3 shows an example of three-dimensional shape data approximately expressed by combinations of a plurality of polygons;

[0020]FIG. 4 shows an example of shape data of analytic surface expression generated based on shape data of polyhedron approximate expression shown in FIG. 3;

[0021]FIG. 5 shows an example of a three-dimensional object expressed by read polygon data (shape data);

[0022]FIG. 6 shows contents of groups as the execution result of a pre-process;

[0023]FIG. 7 shows reference polygons selected for respective groups;

[0024]FIG. 8 shows a set of polygons that satisfy neighbor criteria;

[0025]FIG. 9 shows determination of second reference polygons;

[0026]FIG. 10 shows neighboring polygons that satisfy criteria for the second reference polygons;

[0027]FIG. 11 shows determination of third reference polygons;

[0028]FIG. 12 shows neighboring polygons that satisfy a criterion for the third reference polygons;

[0029]FIG. 13 shows addition of new polygons that can be fitted;

[0030]FIG. 14 shows determination of fourth reference polygons;

[0031]FIG. 15 shows neighboring polygons that satisfy a criterion for the fourth reference polygons;

[0032]FIG. 16 shows polygons which are added and fitted;

[0033]FIG. 17 shows determination of fifth reference polygons;

[0034]FIG. 18 shows neighboring polygons that satisfy a criterion for the fifth reference polygons;

[0035]FIG. 19 shows a result after fitting destinations have been changed;

[0036]FIG. 20 is a view for explaining categories and definitions of tori;

[0037]FIG. 21 shows shapes that have already been fitted in analytic surfaces as objects that are to undergo a mechanism simulation;

[0038]FIG. 22 shows the storage format of relation information associated with FIG. 21 in a storage means such as a memory or the like of a computer in the form of a graph;

[0039]FIG. 23 shows an example of the positional relationship among components, which is computed to satisfy all coincidence relationships defined among partial shapes, i.e., all constraint relationships among partial shapes;

[0040]FIG. 24 is a flow chart showing a series of steps from read of shape data that pertain to polyhedron approximate expression to the end of interference check according to an embodiment of the present invention;

[0041]FIG. 25 is a block diagram showing an example of the configuration of a program that implements a series of steps from read of shape data that pertain to polyhedron approximate expression to the end of interference check on a computer;

[0042]FIG. 26 shows a case wherein an analytic surface is accurately fitted in a three-dimensional shape shown in FIG. 19 (without errors);

[0043]FIG. 27 is a view for explaining a case wherein analytic curve fitting produces errors for three-dimensional shape data which is different from that in FIG. 19;

[0044]FIG. 28 shows fitting errors of the analytic surface for the three-dimensional shape shown in FIG. 27;

[0045]FIG. 29A shows fitting (shaft-hole pair) between a shaft (cylindrical surface) and hole by analytic surface expression;

[0046]FIG. 29B shows fitting (shaft-hole pair) between a shaft (cylindrical surface) and hole by polyhedron expression;

[0047]FIG. 30 is a view for explaining redundant approximate expression of a three-dimensional shape;

[0048]FIG. 31A is a view for explaining another redundant approximate expression of a three-dimensional shape; and

[0049]FIG. 31B is a view for explaining still another redundant approximate expression of a three-dimensional shape.

DETAILED DESCRIPTION OF THE INVENTION

[0050] (First Embodiment)

[0051] The first embodiment of the present invention will be described below.

[0052]FIG. 1 shows a functional block diagram of an apparatus according to the first embodiment of the present invention. As shown in FIG. 1, the apparatus comprises a shape data interface (I/F) 111, an analytic surface fitting module 130, a shape parameter computation module 132, a polygon set generating module 133, a fitting accuracy evaluation module 134, a candidate polygon selecting module 135, and a boundary of fitted surface processing module 136.

[0053] Shape data 200 inputted to the apparatus of this embodiment is three-dimensional data of objects by polyhedron approximation like in VRML. The apparatus of this embodiment is coupled to a mechanism simulation system 137 and an interference check system 138.

[0054]FIG. 2 is a schematic flow chart showing a process of the apparatus of the first embodiment. In this flow chart, a portion bounded by S11 indicates the input step, and a portion bounded by S12 indicates the analytic surface fitting step. Steps S21 to S31 show detailed processing steps as an implementation example of input step S11 and analytic surface fitting step S12. The results obtained by input step S11 and analytic surface fitting step S12 are used in a mechanism simulation S32 and an interference check process S33.

[0055] The processing contents in steps S21 to S31 in FIG. 2 will be described in detail below.

[0056] In this processing, a fitting process control module 131 shown in FIG. 1 activates modules necessary for executing processes constituting the fitting process of analytic surface to the read polygon data.

[0057] In shape data read step S21, shape data which is partially or entirely expressed by polyhedrons is read from, e.g., a file 200 or the like. Each of polyhedrons will be referred to as a “polygon”. This process is performed by a shape data read module 121.

[0058]FIG. 3 shows an example of shape data in which the entire three-dimensional shape is approximately expressed by a combination of a plurality of polyhedrons. This data corresponds to a three-dimensional shape obtained by cropping an infinite cylindrical surface by two surfaces. Vertex data are listed as combinations of ID numbers and coordinate values, and triangles are described by ID number sequences of vertices. Such shape data of polyhedron approximate expression has huge numbers of vertices and polygons, and a larger data size than shape data of analytic surface expression (to be described later).

[0059] In this specification, an analytic surface is defined by a quadratic surface or a combination thereof.

[0060]FIG. 4 shows an example of the shape data of analytic surface expression generated based on the shape data of polyhedron approximate expression shown in FIG. 3. As for a cylindrical surface, the coordinate value of one point on its axis and a direction vector of the axis are output to express the axis, and data of a radius is added thereto. As for a plane, the coordinate value of one point on a plane and a vector normal to that point are output. Since these data can only express an infinite cylinder and infinite plane, contour information is added. A right or left attribute attached to contour indicates the right or left side where the surface is present when viewed from the direction of an arrow in FIG. 4 (counterclockwise about the axis of the edge). An arc edge is expressed by center, axis, and radius data, and endpoints having an identical coordinate value indicate the entire perimeter of an arc. The same applies to an ellipse, which also has vector data of its long axis (major axis).

[0061]FIG. 5 shows an example of a three-dimensional object expressed by polygon data (shape data) read in shape data read step S21. FIG. 6 shows the contents of groups (polygon groups A and B) as the execution result of pre-processing step S22.

[0062] In pre-processing step S22, it is checked if neighboring polygons have a common ridgeline by determining if they have identical endpoints. If identical ridgelines are present between two polygons, it is determined that these two polygons neighbor via a common ridgeline. All polygons are searched for such neighbor relationship, and the found relationships are stored as attribute information of polygons. Tracking the stored neighbor relationships of polygons, polygons that can reach each other are classified into one group. In the preferred embodiment, polygons are classified into a plurality of groups in advance. If the following processes are performed in consideration of the grouping, the overall processing speed can be improved. This process is performed by a shape data pre-processing module 122.

[0063] In step S23 of reference polygon selection for surface fitting, reference polygons are respectively selected from polygon groups A and B. In this embodiment, a polygon having the largest area is selected from a group of polygons. FIG. 7 shows reference polygons respectively selected from groups A and B. This process of selection of reference polygon 1331 is performed by a polygon set generation module 133.

[0064] In step S24 of polygon set generation, a set of polygons which satisfy the following criteria is generated by tracking polygons in turn from a polygon that neighbors each reference polygon selected in reference polygon selection step S23. That is, polygons which satisfy criteria: neighboring polygons make an angle which is equal to or smaller than a predetermined angle, and a polygon makes an angle which is equal to or smaller than a predetermined angle with the reference polygon selected in reference polygon selection step S23 are selected. Sets of polygons which satisfy neighbor criteria are hatched in FIG. 8. This process of grouping polygons that neighbor the reference polygon 1332 is performed by the polygon set generation module 133.

[0065] Note that the set of polygons may be generated not depending on the reference polygon but on another criteria of polygon selection.

[0066] In fitting step S25 of a plane, cylindrical surface, and torus, attempts are made to fit the polygon sets selected in the previous step in a plane, conic surface, and torus.

[0067] The torus has two definitions in accordance with the distance between the axis and sectional arcs, as shown in FIG. 20. In case of a definition 51 of the torus, that shape is called a “lemon portion of torus”. In case of a definition 52 of the torus, that shape is called a “apple portion of torus”. In fitting step S25, fitting is made for a plane, conic surface, lemon portion, and apple portion. Since a cylinder is a special expression of a cone, and a sphere is that of a torus (an intermediate shape between apple and lemon portions is a sphere), a cylinder and sphere are extracted last (cylinder/sphere identification step S30).

[0068] These processes (i.e., plane fitting, cone fitting, and torus fitting) are performed by the shape parameter computation module 132.

[0069] It should be noted that the processing of extraction of the cylinder 1321 and sphere 1322 are performed by the computation module 132.

[0070] In neighboring polygon fitting step S26, assuming that the cone or torus is a fitting surface, it is checked if a neighboring, nonfit polygon can be fitted in the cone or torus with a sufficiently small error. As a result, if the number of polygons to be fitted increases, the fitted curved surface is modified to attain fitting with high accuracy (YES in branch step S27). The evaluation of the error in this process is performed by the fitting accuracy evaluation module 134. The nonfit polygon is selected by the polygon set generation module 133.

[0071] The polygon which is fitted in the aforementioned process is moved from the initial polygon set to a new one, and is managed together with attribute information (central position, direction of axis, and the like) indicating the type and the shape of surface in which that polygon is fitted. If polygons to be fitted still remain in the polygon set, the fitting process is repeated. Upon completing of fitting for all the polygon sets and polygons with the aforementioned processes (“YES” in branch process step S28), the flow advances to a fitting surface movement process S29.

[0072] The fitting surface reassignment process S29 is a process for further improving the fitting result. In the case where a neighboring polygon is fitted in a different surface from a surface of polygon of interest, a fitting error between the polygon of interest and the neighboring polygon's surface is computed and is compared with current error. If the fitting error decreases, the polygon of interest is reassigned to the neighboring polygon's surface. By sequentially executing such process for all the polygons, the initial fitting result can be further improved. The module 135 selects such candidate of polygons with reference to the result of the evaluated fitting accuracy by the fitting accuracy evaluation module 134.

[0073] A termination condition of the above fitting process is not limited only such a condition in which all of the polygons are fitted to any one of analytic surfaces, but is adequately defined, for example, depending on at least one condition of a given fitting error, the amount of the shape data in analytic surface expression form, and the corresponding amount of the polygonal shape data. This termination condition may permits the polygon of non-fitting when, in the state that the fitting error goes within the allowable range and the fitting process can be terminated, the non-fitting polygon data has an advantage over the data amount. In this case, the fitting process is terminated without fitting the non-fitting polygon to the analytic surface.

[0074] Therefore, as shown in FIGS. 9 to 18, the first to fifth reference polygons are selected in turn to execute fitting. Respective portions of a three-dimensional object are fitted in a plane, cone, torus apple portion, torus lemon portion, and the like.

[0075] In FIG. 8, a polygon set generated from the reference polygon contains polygons which should belong to another surface (conic surface). The fitting destinations of such polygons are modified in step S29 in FIG. 2. FIG. 18 shows the state before step S29 in FIG. 2 is executed. In this step, all the fitting results are verified again to check if each polygon is fitted in the most appropriate surface. As a result, the most appropriate fitting result is obtained, as shown in FIG. 19.

[0076] In cylinder/sphere identification step S30, a cylinder/sphere is identified, and the type of surface is changed in correspondence with the identification result.

[0077] Since fitting is done for data which is not an analytic surface, the fitting result inevitably contains errors. Such errors form gaps in a result shape obtained by projecting onto fitted surfaces.

[0078] In boundary analytic curve fitting step S31, fitting is done so that the boundary between the fitted surfaces becomes a straight line or arc. After this process, the shape expression becomes simpler, and high-speed processing can be expected for the final shape data. This process is performed by the boundary of fitted surface processing module 136. Suchlike analytic curve is not limited only said line or arc. The analytic curve may include various kind of quadratic curve.

[0079] Now, a practical use example of the fitting results in analytic surfaces by the shape expression process shown in FIG. 2 in a so-called mechanism simulation process (mechanism simulation step S32) will be explained.

[0080]FIG. 21 shows an example of shapes already fitted in analytic surfaces.

[0081] In order to attain assembly in this example, relationship information indicating that there are three three-dimensional shapes, i.e., components 101, 102, and 103, a plane 104 as a partial shape of the component 101 coincides with a plane 106 as a partial shape of the component 102, and a cylindrical surface 105 is coaxial with a cylindrical surface 107 is input.

[0082] Likewise, as for the components 102 and 103, information indicating a coincidence relationship between planes 108 and 110, and that indicating a coincidence relationship between planes 109 and 111 are input to attain assembly.

[0083] All these partial shapes such as cylinders, planes, and the like are obtained in analytic surface fitting surface S12 mentioned above. According to the present invention, even when no actual data like a cylinder is present, a cylindrical shape or the like is automatically recognized by fitting, thus allowing assembly modeling.

[0084]FIG. 22 expresses the storage format of relation information associated with FIG. 21 in a storage means such as a memory or the like of a computer in the form of a graph.

[0085] In addition to three-dimensional shape information and partial shape information, coincidence relationships 112, 114, and 115 between planes, and a coaxial relationship 113 between cylinders are available as data. A function of computing the relative positional relationship among the components 101, 102, and 103 from these pieces of information is provided as software in the form of a geometric constraint process library. 3D-DCM version 2.1.0 available from D-Cubed Ltd., United Kingdom is an example of such product. More specifically, local coordinate systems unique to components are set for individual components, and the positional relationship among components are expressed in the form of a transformation matrix between these coordinate systems and a world coordinate system fixed in the space. More specifically, transformation matrices for expressing the positions of the components 101, 102, and 103 are automatically computed by the geometric constraint process library on the basis of the coincidence relationships and the like shown in FIG. 22.

[0086]FIG. 23 shows an example of the positional relationship among components, which is computed to satisfy all coincidence relationships defined among partial shapes, i.e., all constraint relationships among partial shapes. That is, FIG. 23 shows the positions of components obtained by applying the transformation matrices of the components automatically computed by the geometric constraint process library to the shape data of the components. In this way, if analytic surfaces of cylinders, cones, spheres, and the like have been defined, kinematic pair relationships such as coincidence, coaxial, and the like among them are defined, and the positions, postures, and motions among components can be computed based on these relationships.

[0087] For details of mechanism simulation, refer to U.S. patent application Ser. No. 09/371843 (Japanese Patent Application No. 11-234687), “METHOD FOR CREATING ASSEMBLY MODEL” filed by the present applicant, the entire contents of which are incorporated herein by reference.

[0088] As described above, according to the first embodiment, analytic surface expression data which allows easy handling can be obtained from shape data of a three-dimensional object which is expressed by polygons like VRML. Hence, assembly modeling, mechanism simulation, and the like which can be executed by a specific CAD system alone for shape data by polyhedron approximation such as VRML or the like can be executed.

[0089] In the description of the first embodiment, a reference polygon is selected in a polygon set, and an analytic surface is fitted in a polygon set in which polygons neighbor the reference polygon and satisfy predetermined criteria (predetermined polygons make certain angles with each other). Alternatively, an equivalent polygon set may be obtained based on another process without selecting any reference polygon.

[0090] (Second Embodiment)

[0091] The second embodiment relates to a discrimination process of the presence/absence of geometric interference among three-dimensional shapes modeled using a computer.

[0092] In polyhedron (polygon) approximation such as VRML or the like, the number of polygons tends to be huge, and when geometric interference among shapes is detected by computing them using a computer, a very long computation time is required. For this reason, it is often disadvantageous to directly use shape data obtained by polyhedron approximation in interference check.

[0093] On the other hand, when interference check is made based on analytic surfaces or the like with a small data size in place of a partial set of polyhedrons, such implementation is advantageous in terms of computation time. But when fitting results of analytic surfaces contain serious errors, interference check may produce errors due to such serious errors, and the shape data obtained by polyhedron approximation is often advantageous in terms of interference detection accuracy.

[0094] When shape data obtained by polyhedron approximation such as VRML or the like is used in interference check, although no interference takes place in practice, interference may often be erroneously detected as a result of polyhedron approximation when no interference naturally occurs like fitting of a shaft and hole as cylinders having identical diameters. In such case, the user must individually check if that interference actually occurs or is erroneously detected as a result of polyhedron approximation. Therefore, it is important to exclude wrong interference check results caused by the internal expression of shapes, and to efficiently provide only information that the user wants.

[0095] However, no mechanism for flexibly creating appropriate shape data in accordance with the required processing time and accuracy, and applying them to the interference check function has been proposed yet, and the interference check function cannot be effectively utilized.

[0096] Hence, this embodiment provides an apparatus for flexibly checking the presence/absence of geometric interference among three-dimensional shapes in accordance with the required processing time and accuracy.

[0097]FIG. 24 is a flowchart showing a series of steps from read of shape data associated with polyhedron expression to the end of interference check according to the third embodiment of the present invention, and FIG. 25 is a block diagram showing an example of the arrangement of a program product that implements such steps on a computer.

[0098] As shown in FIG. 25, the program product comprises a shape data read module 1, analytic surface fit module 2, shape data storage/management module 3, file output module 4, file input module 5, magnetic disk 6, interference check data supply module 10, interference check module 9, and result display module 11. When shape data of analytic surface expression, which is generated by the analytic surface fit module 2, need not be permanently stored, the file output module 4, file input module 5, and magnetic disk 6 may be eliminated.

[0099] The interference check data supply module 10 comprises the shape data storage/management module 3, a computation mode select module 7, and an interference computation data select module B.

[0100] In step S11 shown in FIG. 24, shape data of polyhedron approximate expression is read. The shape data read module 1 reads shape data associated with a given mechanism component which is to undergo interference check from, e.g., a database or the like of a mechanism component simulation system (not shown). The shape data of a mechanism component corresponds to a three-dimensional shape, which is partially or entirely approximately expressed by a combination of a plurality of polyhedrons (polygons).

[0101] The shape data of polyhedron approximate expression read by the shape data read module 1 is supplied to the shape data storage/management module 3, and also to the analytic surface fit module 2.

[0102] In step S12, an analytic surface fit process based on the shape data of polyhedron approximate expression read in step S11 is executed. The analytic surface fit module 2 attempts to fit an arbitrary partial set of polyhedrons to different analytic surfaces such as a plane, spherical surface, cylindrical surface, conic surface, torus, and the like to obtain shape data of approximate analytic surface expression. The contents of the analytic surface fit process are the same as that in the above embodiment, and a detailed description thereof will be omitted.

[0103] The shape data storage/management module 3 stores and manages the shape data of analytic surface expression generated in step S12 in association with the corresponding shape data of polyhedron approximate expression. Such shape data storage/management module 3 uses a main storage device comprising a random access memory or the like that allows read/write at high speed. Since the shape data of analytic surface expression is stored and managed in association with the corresponding shape data of polyhedron approximate expression, a process for designating an analytic surface to obtain a corresponding initial polygon set, or the like can be made.

[0104] It is checked in step S13 based on, e.g., a user's instruction or the like if the analytic surface fit process result in step S12 is stored not only in the main storage device but also in a magnetic disk. If the result is stored in the disk (step S13=YES), the file output module 4 writes the shape data of analytic surface expression obtained as a result of the analytic surface fit process in the magnetic disk 6 (step S14). In general, since the analytic surface fit process requires a longer computation time than an interference check process later, when interference check is repeated for identical shape data, the analytic surface fit result stored in the magnetic disk 6 is read out and used in step S21 in place of executing the analytic surface fit process in every check, thus avoiding redundant computations and attaining high-speed processing.

[0105] If the result is not stored in the disk in step S13, the flow directly advances to step S15.

[0106] In step S15, an accuracy- or processing speed-oriented computation mode is selected. The computation mode select module 7 selects and determines one of a first computation mode in which accuracy-oriented interference check computations are made, and a second computation mode in which processing speed-oriented computations are made.

[0107] A selection criterion upon selecting such computation mode may be arbitrarily set. For example, in this embodiment, when a three-dimensional shape as an object has no motion, the accuracy-oriented first computation mode is selected; when the three-dimensional shape has a motion, the processing speed-oriented second computation mode is selected. As for the motion of the three-dimensional shape, predetermined determination is made based on user's operation (e.g., during animation display) or the like upon simulating a mechanism component using a model on a computer.

[0108] When the accuracy-oriented computation mode is selected (step S16=YES), the interference computation data select module 8 issues a data request to the shape data storage/management module 3 to select shape data (polygon) of polyhedron approximate expression of a portion other than those in which analytic surfaces are fitted without any errors. That is, the shape data of polyhedron approximate expression is used in interference check in place of the already obtained analytic surface expression, so as to prevent any errors due to the fit process (step S17).

[0109]FIG. 25 shows an example of polyhedron data of a three-dimensional shape provided by, e.g., VRML. In this polyhedron data, analytic surfaces (plane, cylindrical surface, conic surface, spherical surface, and the like) are accurately fitted (without any errors) as a result of the analytic surface fit process (step S12), as shown in FIG. 26. In this case, it is advantageous to conduct interference check using the fitted analytic surfaces in terms of both the processing speed and accuracy. Therefore, when analytic surfaces are accurately fitted, i.e., when no errors are produced upon fitting analytic surfaces, the subsequent processes (interference check) are executed using the fitted analytic surfaces independently of the computation mode selected.

[0110] Polyhedron data shown in FIG. 27 is data that pertains to a three-dimensional shape which is slightly different from that in FIG. 19, and is used to explain a case wherein the analytic surface fit process causes errors. In FIG. 27, a portion 110 is a slowly tapered portion, which is different from an approximate shape shown in FIG. 19. For example, the presence of this tapered portion often causes an error (analytic surface 111) in the analytic surface fit result.

[0111] An analytic surface fit error can be detected by a distance computation between a point on that analytic surface and a reference point (e.g., a point on a polyhedron corresponding to this point). The interference computation data select module 8 specifies the analytic surface 111 containing an error, and selects initial shape data of polyhedron approximation corresponding to this analytic surface 111.

[0112] Note that the analytic surface fit result may be displayed on the display screen, and the user may visually detect any fit errors. When the user explicitly designates the analytic surface 111 where an error has been produced, the interference computation data select module 8 selects initial shape data of polyhedron approximation corresponding to the designated analytic surface 111.

[0113] On the other hand, if the processing speed-oriented computation mode is selected (step S16=NO) in FIG. 24, a largest possible number of analytic surfaces are selected. The interference check process can be executed at higher speed if an increased number of portions have analytic surfaces selected. For example, in this embodiment, analytic surfaces are selected independently of the presence/absence of the aforementioned fit errors.

[0114] The shape data selected in step S17 or S18 are supplied to the interference check module 9. The interference check module 9 executes the interference check process on the basis of the supplied shape data (step S19). For example, CDM (Collision Detection Manager) available from D-Cubed Ltd., United Kingdom is known as a software library effective for implementing the interference check process, and interference detection among analytic surfaces can be detected at very high speed using that software library. Note that application of that software library is merely an example. The interference check result in step S19 is displayed on the result display module 11.

[0115] It is checked in step S15 if the interference check process is to end. If interference check is redone under different conditions in accordance with user's instruction or the like, the flow returns to step S15. At this time, the analytic surface fit result recorded in the magnetic disk 6 can be used, as described above. Without using the recorded result, a new analytic surface fit process under different conditions may be done.

[0116] Some modifications of this embodiment will be described below.

[0117] In this embodiment, in the accuracy-oriented computation mode, shape data of polyhedron approximate expression is selected for an analytic surface containing a fit error in place of the corresponding shape data of analytic surface expression, thus generating appropriate shape data corresponding to the processing method. However, analytic surface expression may be more advantageous than polyhedron approximate expression in terms of interference check accuracy in some cases.

[0118]FIGS. 9A and 9B are views for explaining such case. FIGS. 9A and 9B show the fitting state (shaft-hole pair) of a shaft (cylindrical surface) and hole when viewed from the axial direction of the hole. In practice, the hole diameter nearly matches the shaft diameter, but the shaft is slightly smaller than the hole for the sake of simplicity.

[0119] As shown in FIG. 29A, when cylindrical surfaces as analytic surfaces are fitted in a shaft 151 and hole 152, no interference takes place when the shaft 151 and hole 152 rotate relative to each other (e.g., the shaft rotates relative to the immovable hole). By contrast when no analytic surfaces are fitted in a shaft 153 and hole 154, which remain expressed by polyhedrons, if the shaft 153 and hole 154 rotate relative to each other, interference takes place depending on the rotational angle. Reference numerals 155 and 156 denote interference portions in this case. FIG. 29B shows an example wherein interference that never occurs in practice is erroneously detected due to polyhedron expression, and which is often found upon modeling and simulation of mechanism components. In such case, the shape data of analytic surface expression may be exclusively used independently of the computation mode.

[0120] As another modification, a plurality of analytic surface fit results or shape data of polyhedron approximate expression may be prepared on the basis of an allowable error value. In approximation of these three-dimensional shapes, if larger errors are set, the number of approximate surfaces decreases, and high-speed processing is guaranteed, but precision impairs. On the other hand, when smaller errors are set, the number of approximate surfaces increases, and accuracy can be improved, but the processing time is prolonged. In this embodiment, two different choices of shape data, i.e., analytic surface expression and polyhedron approximate expression, are available, but more choices may be provided. For example, accurate data, data with small errors, and data with large errors are prepared. These data are selectively used in accordance with the motion speed or the like in animation of a component to be checked. For example, when a three-dimensional object moves at high speed, data with large errors may be used to attain high-speed interference check, and when the motion of the object becomes slow, data with small errors may be selected. When the motion stops finally, accurate data may be used.

[0121] As still another modification, a three-dimensional shape may be redundantly and approximately expressed using analytic surfaces, thus improving accuracy and reliability of interference check.

[0122] When very strict accuracy is required upon detecting the presence/absence of interference among components, since analytic curve expression shown in FIG. 28 contains fit errors, as described above, troubles or oversight may occur in interference check. Hence, a three-dimensional shape is redundantly and approximately expressed. More specifically, as shown in FIG. 30, original polygons are expressed by sandwiching them between an analytic surface 111 formed by a partial shape of an approximate conic surface, and another surface which has a common central axis to the analytic surface 111 and a smaller radius. If interference occurs on any surface, the presence of interference is determined. In this case, two approximate surfaces are inevitably used to sandwich polygons, and it is disadvantage for the interference check process in terms of time. However, the interference check process can be executed at sufficiently higher speed than a case using only shape data of polyhedron approximate expression. Even when an obstacle approaches a polygon set from any direction, as it collides against one of the two approximate surfaces, possibility of troubles and oversight in interference check can be excluded.

[0123]FIG. 31 explains such principle of obtaining two surfaces in more detail to attain reliable interference check. In FIG. 31, the central axes of a fitted cone and cylindrical surface are indicated by the one-dashed lines, and the full circles indicate a state wherein the vertices of fitted polygons rotate about these central axes and are projected onto planes including the axes. The dotted lines indicate the fitted cone and cylindrical surface, but the dots indicated by the full circles are not always strictly located on the fit surfaces and slight interference may fail to be found. Hence, in a cone, two surfaces indicated by the solid lines are obtained by vertically moving the fitted cylinder along the axis to spuriously increase/decrease the radius at an original position. In case of a cylinder, a pair of cylinders indicated by the solid lines can be obtained by directly increasing/decreasing its radius.

[0124] As described above, according to the second embodiment, shape data of analytic surface expression that can be processed at high speed is effectively used, and when accurate computations are required, initial shape data of polyhedron approximate expression is used in addition to accurately fitted analytic surfaces, thus implementing flexible interference check in accordance with the required processing time and accuracy.

[0125] Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents. 

What is claimed is:
 1. A method of kinematics simulation using polygonal shape data in which at least a portion of a shape is approximated by a combination of a plurality of polygons, the method comprising: obtaining shape data of analytic surface expression by fitting partial sets of the polygons to analytic surfaces, wherein the analytic surfaces include at least one of a cone, torus, and cylinder; generating an assembly model based on defining a pair relationship including coaxial relationship between the analytic surfaces, the assembly model expressing a positional relationship among a plurality of components thereof, and the positional relationship corresponding to the pair relationship; and performing a mechanical simulation by computing positions of the components according to the positional relationship.
 2. The method according to claim 1, further comprising: selecting at least one or more polygons from the polygonal shape data in accordance with a predetermined selection criterion; and determining an analytic surface to be assigned for the one or more polygons.
 3. The method according to claim 1, further comprising: calculating a first representation of a first analytic surface of a first component; calculating a second representation of a second analytic surface of a second component; and performing an interference check for checking the presence/absence of geometric interference between the first component and the second component, according to the first representation and the second representation.
 4. The method according to claim 3, wherein the first representation includes a central axis of the first component and the second representation includes a central axis of the second component.
 5. A kinematics simulation apparatus using polygonal shape data in which at least a portion of a shape is approximated by a combination of a plurality of polygons, the apparatus comprising: a data acquisition unit configured to obtain a shape data of analytic surface expression by fitting partial sets of the polygons to analytic surfaces, wherein the analytic surfaces include at least one of a cone, torus, and cylinder; an assembly modeling unit configured to generate an assembly model based on defining a pair relationship including coaxial relationship between the analytic surfaces, the assembly model expressing a positional relationship among a plurality of components thereof, and the positional relationship corresponding to the pair relationship; and a mechanical simulation unit configured to perform a mechanical simulation by computing positions of the components according to the positional relationship.
 6. The apparatus according to claim 5, further comprising: a selection unit configured to select at least one or more polygons from the polygonal shape data in accordance with a predetermined selection criterion; and a determination unit configured to determine an analytic surface to be assigned for the one or more polygons.
 7. The method according to claim 5, further comprising: a first calculation unit configured to calculate a first representation of a first analytic surface of a first component; a second calculation unit configured to calculate a second representation of a second analytic surface of a second component; and an interference check unit configured to check the presence/absence of geometric interference between the first component and the second component, according to the first representation and the second representation.
 8. The method according to claim 7, wherein the first representation includes a central axis of the first component and the second representation includes a central axis of the second component.
 9. A computer program product for a kinematics simulation using polygonal shape data in which at least a portion of a shape is approximated by a combination of a plurality of polygons, the computer program product comprising: means for instructing a computer to obtain shape data of analytic surface expression by fitting partial sets of the polygons to analytic surfaces, wherein the analytic surfaces include at least one of a cone, torus, and cylinder; means for instructing the computer to generate an assembly model based on defining a pair relationship including coaxial relationship between the analytic surfaces, the assembly model expressing a positional relationship among a plurality of components thereof, and the positional relationship corresponding to the pair relationship; and means for instructing the computer to perform a mechanical simulation by computing positions of the components according to the positional relationship. 